package com.luoran.bartalks.dao;

import java.util.List;

import org.beetl.sql.core.annotatoin.Param;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.mapper.BaseMapper;

import com.luoran.bartalks.entity.BaseInfo;
import com.luoran.bartalks.entity.biz.BtPlanTemplate;

public interface IBtPlanTemplateDao extends BaseMapper<BtPlanTemplate> {

	void queryPage(PageQuery<? extends BaseInfo> pageQuery);

	// 通过planTemplateCode查找计划模板
	BtPlanTemplate getBtPlanTemplateByCode(@Param("planTemplateCode") String planTemplateCode,
			@Param("companyId") String companyId);

	// 通过companyId查找计划模板
	List<BtPlanTemplate> getBtPlanTemplateByCompanyId(@Param("companyId") String companyId);

	// 通过id逻辑删除计划模板
	void deleteBtPlanTemplateById(@Param("id") String id);

	// 通过id修改计划模板信息
	void editPlanTemplateById(BtPlanTemplate btPlanTemplate);

	// 通过id修改目的地信息
	void updateBtPlanTemplateById(BtPlanTemplate btPlanTemplate);

	// 通过id修改起始地信息
	void updateBtPlanTemplateByStartPlaceId(BtPlanTemplate btPlanTemplate);

	// 通过运输方式id查询计划模板.
	List<BtPlanTemplate> getPlanTemplateByTransportTypeId(@Param("transportTypeId") String transportTypeId,
			@Param("companyId") String companyId);

	// 通过companyId查询可用计划模板.
	List<BtPlanTemplate> getPlanTemplateByCompanyId(@Param("companyId") String companyId);

	// 查询模版公司数据
	List<BtPlanTemplate> getPlanTemplateStencilList(@Param("companyId") String companyId);

	// 根据Id in 查询
	List<BtPlanTemplate> getByIds(@Param("ids") List<String> ids);
}
